package se.webbzon.boltzmann.environment;

import se.webbzon.boltzmann.inflatorgroup.EnvironmentInflatorGroup;
import se.webbzon.oschi01.worldeditor.WorldObjectInflatorGroup;

public abstract class AbstractEnvironment {
	
	// Whatever the environment is created in debug mode or not
	private boolean debugMode;
	
	// The inflator group associated with this abstract environment
	private final WorldObjectInflatorGroup inflatorGroup;
	
	/*============================================================
	Constructors
	============================================================*/
	
	/** Creates a new abstract environment for the game. **/
	public AbstractEnvironment(	boolean debugMode, 
								EnvironmentInflatorGroup inflatorGroup) 
										throws Exception {
		this.debugMode = debugMode;
		this.inflatorGroup = inflatorGroup;
		inflatorGroup.initialize(this);
	}
	
	/*============================================================
	Public Methods
	============================================================*/
	
	/** Returns true if the environment is created in debug mode. **/
	public boolean isDebugMode() {
		return debugMode;
	}
	
	/** Returns the inflator group associated to this abstract environment. **/
	public WorldObjectInflatorGroup getInflatorGroup() {
		return inflatorGroup;
	}

}
